#include <REGX52.H>
#include "Delay.h"

//指定的数字有哪些地方要亮，对应数值的数组
unsigned char NixieTubeNums[] = {0x3F, 0x06, 0x5B, 0x4F,0x66, 0x6D, 0x7D, 0x07, 0x7F, 0x6F};
/**
  * @brief 显示指定位置指定数字
  * @parm 第一个参数是从左往右要显示的位置 范围: 1~8
  * @parm 第二个参数是要显示的数字 范围: 0~9
  * @retval 无
  */
void LightNixieTube(unsigned char location, unsigned char num)
{
	//第一个位置是LED8，对应38译码器111
	switch(location)
	{
		case 1:P2_4 = 1;P2_3 = 1;P2_2 = 1;break;
		case 2:P2_4 = 1;P2_3 = 1;P2_2 = 0;break;
		case 3:P2_4 = 1;P2_3 = 0;P2_2 = 1;break;
		case 4:P2_4 = 1;P2_3 = 0;P2_2 = 0;break;
		case 5:P2_4 = 0;P2_3 = 1;P2_2 = 1;break;
		case 6:P2_4 = 0;P2_3 = 1;P2_2 = 0;break;
		case 7:P2_4 = 0;P2_3 = 0;P2_2 = 1;break;
		case 8:P2_4 = 0;P2_3 = 0;P2_2 = 0;break;
	}
	//指定的数字有哪些地方要亮
	P0 = NixieTubeNums[num];
	//扫描数码管才使用
	//Delayms(1);
	//P0 = 0x00;//消影
}